﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace DiIoc.ScriptableObjectDemo
{
    /// <summary>
    /// This action tells Unity that you still want to use Unity features and methods, like a typical 
    /// MonoBehaviour, but you’ll no longer need to put this script onto a GameObject.
    /// </summary>
    /// Add your Scriptable Object to the Asset Menu 
    [CreateAssetMenu(fileName = "New SwordData", menuName = "Sword Data", order = 51)]
    public class SwardData : ScriptableObject
    {
        /// <summary>
        /// Note: SerializeField
        ///In Unity, the SerializeField attribute allows you to have private script variables that are 
        ///exposed in the Inspector.This will let you set the values in the editor without giving access
        ///to the variable from other scripts.
        /// </summary>
        [SerializeField]
        private string swordName;
        [SerializeField]
        private string description;
        [SerializeField]
        private Sprite icon;
        [SerializeField]
        private int goldCost;
        [SerializeField]
        private int attackDamage;

        public string SwordName { get => swordName;}
        public string Description { get => description; }
        public Sprite Icon { get => icon; }
        public int GoldCost { get => goldCost;}
        public int AttackDamage { get => attackDamage;}

 
    }
}

